package com.ruoyi.hxf.service;

import com.ruoyi.hxf.domain.Pay;
import com.ruoyi.hxf.domain.vo.PayVo;
import com.ruoyi.hxf.domain.bo.PayBo;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.core.domain.PageQuery;

import java.util.Collection;
import java.util.List;

/**
 * 缴费(推送服务模块)Service接口
 *
 * @author hxf
 * @date 2023-01-12
 */
public interface IPayService {


    /**
     * 查询缴费(推送服务模块)
     */
    PayVo queryById(Long payId);

    /**
     * 查询缴费(推送服务模块)列表
     */
    TableDataInfo<PayVo> queryPageList(PayBo bo, PageQuery pageQuery);

    /**
     * 查询缴费(推送服务模块)列表
     */
    List<PayVo> queryList(PayBo bo);

    /**
     * 查询缴费全部信息
     */
    List<Pay> List();

    /**
     * 新增缴费(推送服务模块)
     */
    Boolean insertByBo(PayBo bo);

    /**
     * 修改缴费(推送服务模块)
     */
    Boolean updateByBo(PayBo bo);

    /**
     * 校验并批量删除缴费(推送服务模块)信息
     */
    Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);

    /**
     * 修改缴费推送信息
     */
    void updatePay(Pay pay);

    /**
     * 修改
     *
     * @param bo
     * @return
     */
    int MyUpdateByBo(PayBo bo);

    /**
     * 查询推送给我的缴费列表
     */
    TableDataInfo<PayVo> queryPagePayList(PayBo bo, PageQuery pageQuery);


    /**
     * 修改
     * @param row
     */
    void MyUpdateByVo(PayVo row);

    Pay selectPayByPayId(Long payId);

}
